﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ExtendMethod
{
    /*
    比如：我们使用别人的一个库，调用里面某些对象的方法，但是你还不清楚这个方法返回什么类型
    ,可以直接使用var

    控制方法:对一个现有的类,可以直接增加相关的方法,尤其是这个类是别人写的，我们无权直接修改。扩展方法
    可以实现

    除此之外，平台也给我们提供了很多扩展方法，可以实现快速的应用.

    提示:我们自己定义扩展方法的时候，很少。
     */ 
    class Program
    {
        static void Main(string[] args)
        {
            /* int age = 20;

             var name = "常老师";

             //name = 20; 报错

             object name3 = "韩老师、好老师";
             name3 = 100;

             string name1 = "付老师";

             int result1 = Add(20, 50);
             var result2 = Add(200, 150);

             //扩展方法的使用
             int num = 198;
             double result3 = num.Division(20);
             Console.WriteLine(result3);
             Console.ReadLine();*/

            TestSysExtendMethod test = new TestSysExtendMethod();
            test.Test();
            Console.ReadLine();
        }

        public static int Add(int a,int b)
        {
            return a + b;
        }
    }
}
